Historically, the contents of enterprise and other large databases have been displayed using so-called graphical tree interfaces in which nodes representing the contents of the database may be expanded or contracted by a simple point and click operation. Such interfaces offer an intuitive and powerful visual tool for navigating hierarchical and non-hierarchical data structures and allow the user to reach required application data after a relatively small number of point and click operations.
Web-based applications, however, cannot effectively display graphical tree structures with large numbers of nodes. For example, a client browser attempting to display a tree node and its 10,000 child nodes would take several minutes to render the nodes and related images and risk running out of available memory before the tree structure could be completed. Accordingly, those Web applications that have implemented graphical tree structures which uses a Web console tree for managing database servers, which uses a tree to manage inboxes, outboxes and public folders, and various Web based help facilities, and which use trees to display static help content, are all unable to efficiently manage and display the contents of enterprise and other large databases. This has led developers to implement the search/filter/results approach favored by Internet search engines, in which the user fills in search terms in various filter fields on the browser and the server returns a number of results pages that are displayed one at a time. However, because a user typically executes several queries in order to establish filter criteria that return an appropriate number of pages, using this approach, network resources are burdened and the rate at which the server can manage transactions is reduced. Furthermore, abandoning pre-existing tree structures greatly complicates the development of Web applications.